package com.xyf.sys.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@Data
public class OrderProduct {
    private String id;

    private String code;

    private String productCategory;

    private String orderId;

    private String userId;

    private Long cartId;

    private Long cartItemId;

    private Long productId;

    private Long assistId;

    private String bizId;

    private String deliveryName;

    private String waybillId;

    private String expressType;

    private String bigWord;

    private String packagePlace;

    private String waybillData;

    private String deliveryId;

    private String orderSerialNo;

    private String describe;

    private String subcribeResult;

    private String itemType;

    private String itemNotes;

    @ApiModelProperty("重量")
    private String weight;

    @ApiModelProperty("费用")
    private BigDecimal price;
    @ApiModelProperty("上门取件费用")
    private BigDecimal pickUpPrice;

    @ApiModelProperty("总费用")
    private BigDecimal totalPrice;
    @ApiModelProperty("取件方式")
    private String pickUpType;
    @ApiModelProperty("物流方案")
    private Long logisticPriceSchemeId;

    @ApiModelProperty("打印次数")
    private Integer printTimes;

    @ApiModelProperty("结算重量")
    private String settleWeight;

    @ApiModelProperty("超重金额")
    private BigDecimal overWeightAmount;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date lastUpdateTime;

    private String status;

    private String delFlag;

    private String createBy;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    private String updateBy;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;

    private String remark;


    private OrderAddress recMan;

    private OrderAddress sendMan;

    private String name;
    private Long categoryId;
    @ApiModelProperty(value = "类型编号", example = "1")
    private Byte typeId;
    @ApiModelProperty(value = "简述")
    private String sketch;
    @ApiModelProperty(value = "商品描述")
    private String intro;
    @ApiModelProperty(value = "商品关键字")
    private String keywords;
    @ApiModelProperty(value = "标签")
    private String tags;
    @ApiModelProperty(value = "市场价格", example = "120.00")
    private BigDecimal marketPrice;

    @ApiModelProperty(value = "封面图")
    private String pictureUrl;

    @ApiModelProperty("数量")
    private Integer quantity;

    @ApiModelProperty("单价")
    private BigDecimal pricePerUnit;

    @ApiModelProperty("选中状态 0 未选中 1 选中")
    private Integer selected;

    private String itemCode;

    private String index;

    public String getRemark() {
        return remark == null ? "" : remark.trim();
    }

    private List<Long> colorIds;
    private List<SysProductOption> colorOptions;
    private List<Long> serveIds;
    private List<SysProductOption> serveOptions;
    private List<Long> defectIds;
    private List<SysProductOption> defectOptions;
    private List<Long> affixIds;
    private List<SysProductOption> affixOptions;
    private String img;

    private OrderAddress merchantAddress;

}